Adaptive buffer region for line-of-sight network planning

ABSTRACT

Architectures and techniques are presented that improve or enhance a network planning procedure such as by selecting a more efficient test buffer that is used to identify objects that might intersect a Fresnel zone between two transceivers. An improved test buffer (e.g., buffer region) can be one that is constructed from a plurality of rectangles situated along a line of sight of the two transceivers and that are oriented according to cardinal directions.

TECHNICAL FIELD

The present application relates generally to constructing an adaptivebuffer region around a line-of-sight between two transceivers thatclosely approximates a Fresnel zone while enabling more efficientline-of-sight computations.

BACKGROUND

In wireless links of communication networks, often transmitters usefrequencies that are blocked or obstructed by physical obstacles likebuildings or trees. This includes fifth generation (5G) networks andmicrowave transmissions between communication towers. When planning suchnetworks, it is important to take potential obstructions into accountwhen selecting locations for the transceivers of a communicationnetwork. For example, when selecting locations for a pair of microwavetransceivers (e.g., a receiver and a transmitter) that should beconnected to one another, there should be a clear line-of-sight (LoS)between the transceivers on these towers, with no obstacles betweenthem. Furthermore, there is a need to take Fresnel zones into account—a3D buffer with a varying width around the LoS. For example, networkplanning typically attempts to verify that there are no geospatialentities that intersect the n-th Fresnel zone.

BRIEF DESCRIPTION OF THE DRAWINGS

Numerous aspects, embodiments, objects and advantages of the presentapplication will be apparent upon consideration of the followingdetailed description, taken in conjunction with the accompanyingdrawings, in which like reference characters refer to like partsthroughout, and in which:

FIG. 1 depicts illustration 100 showing an example representation of aFresnel zone in accordance with certain embodiments of this disclosure;

FIG. 2A shows illustration 200A depicting an example of a bounding boxapproach;

FIG. 2B shows illustration 200B depicting an example of a fixed-widthapproach;

FIG. 3 illustrates a block diagram of an example system or device thatcan perform a network planning operation based on a group of definedrectangles representing a test buffer in accordance with certainembodiments of this disclosure;

FIG. 4A shows illustration 400A depicting an example of the bufferregion that is composed of a group of rectangles in accordance withcertain embodiments of this disclosure;

FIG. 4B shows illustration 400B depicting an example of one of therectangles in the context of cardinal directions in further detail inaccordance with certain embodiments of this disclosure;

FIG. 5A shows depiction 500A illustrating an alternative embodiment inwhich the buffer region is composed of a number of squares in accordancewith certain embodiments of this disclosure;

FIG. 5B shows depiction 500B illustrating an example of performingupdated computations in response to an update to a position of one ofthe two transceivers in accordance with certain embodiments of thisdisclosure;

FIG. 6 illustrates an example method that can perform a network planningoperation based on a group of defined rectangles representing a testbuffer in accordance with certain embodiments of this disclosure;

FIG. 7 illustrates an example method that can provide for additionalelements or aspects in connection with performing a network planningprocedure based on a group of defined rectangles representing a testbuffer in accordance with certain embodiments of this disclosure;

FIG. 8 illustrates a first example of a wireless communicationsenvironment with associated components that can be operable to executecertain embodiments of this disclosure;

FIG. 9 illustrates a second example of a wireless communicationsenvironment with associated components that can be operable to executecertain embodiments of this disclosure; and

FIG. 10 illustrates an example block diagram of a computer operable toexecute certain embodiments of this disclosure.

DETAILED DESCRIPTION

Overview

The disclosed subject matter is now described with reference to thedrawings, wherein like reference numerals are used to refer to likeelements throughout. In the following description, for purposes ofexplanation, numerous specific details are set forth in order to providea thorough understanding of the disclosed subject matter. It may beevident, however, that the disclosed subject matter may be practicedwithout these specific details. In other instances, well-knownstructures and devices are shown in block diagram form in order tofacilitate describing the disclosed subject matter.

Referring now to the drawings, with initial reference to FIG. 1,illustration 100 is depicted, showing an example representation ofFresnel zone 101 in accordance with certain embodiments of thisdisclosure. Fresnel zone 101 can represent one in a series of confocalprolate ellipsoidal regions of space between an around two transceivers,such as transceivers 102 and 104 situated some distance 106, denoted D,away from one another. In this case, n=1 indicates that Fresnel zone 101is the first in the series of Fresnel zones, but it is appreciated thatany one of the series may be used (e.g., n=2, n=3, . . . ) in accordancewith the disclosed subject matter.

Transmitted radio waves can follow slightly different paths beforereaching a receiver, especially if there are obstructions or reflectingobjects between the two transceivers 102 and 104. The radio waves canarrive at slightly different times and can be slightly out of phase dueto the different path lengths. Depending on the magnitude of the phaseshift, the waves can interfere constructively or destructively. The sizeof the calculated Fresnel zone at any particular distance from thetransmitter (e.g., transceiver 102) and receiver (e.g., transceiver 104)can help to predict whether obstructions or discontinuities along thepath will cause significant interference. Hence, determining whetherobjects exist within a Fresnel zone can be an important part of networkplanning.

Fresnel zone 101 can have radius 108, denoted r, which varies accordingto distances from the two transceivers 102 and 104. For example, atpoint 110, denoted as P, distance 112 (e.g., d1) away from firsttransceiver 102 and distance 114 (e.g., d2) away from second transceiver104 are approximately equal. Thus, at point 110, radius 108 is at amaximum value. It is appreciated that network planning based on Fresnelzone data can be more accurate and/or more robust than network planningbased on LoS data alone.

Thus, conventional network planning typically involves inputtinglocations for the two transceivers 102 and 104 and attempting todetermine whether there are any obstructions not only to the LoS betweenthe two transceivers, but also within the Fresnel zone. Typically, theabove is done based on access to a geospatial model of the physicalenvironment. Some test buffer around the LoS is selected and then thegeospatial model is accessed to determine whether there are objects(e.g., potential obstructions) within that test buffer. If so, thoseobjects are tested against a clearance buffer (e.g., the Fresnel zone).

For Fresnel zones, the width of the clearance buffer at each point onthe LoS connecting the transceivers is a function of the transmissionfrequency, the distance to the receiver and the distance to thetransmitter. A clearance test examines that there are no obstacles inthe space defined by the Fresnel zone. In a typical clearance test, twolocations of transceivers are provided as points in a 3D space. Thestraight line that connects these points is the LoS and the clearancebuffer is the space defined by the Fresnel zone according to thefrequency of the transmission. One goal is to test that there are noobstructions that intersect this space

When planning large networks, there is a need to deploy manytransceivers; so many LoS computations are required. To automate theprocess and assist network planners, a clearance test can be executedover a 3D model of the world. That is, given a 3D model of a physicalspace, with all the potential obstacles (like buildings, trees, and theterrain), the computation is by examining that no obstacles intersectthe clearance buffer defined by the Fresnel zone. It is appreciated thatthe 3D model can be representative of any spatial reference system,including any world geodedic coordinate system such as EuropeanPetroleum Survey Group (EPSG):4326, EPSG:3857, or other.

A naïve test could be by applying an intersection test to each one ofthe objects in the dataset (e.g., an infinite test buffer). But this isinefficient and does not scale. A spatial index can be used to improvethe efficiency of the computation by retrieving a small set of relevantobjects (e.g., a finite test buffer) and applying the intersection testjust to those. In other words, the clearance buffer represents theFresnel zone and therefore objects within can be obstructions to thesignal. On the other hand, the test buffer represents a region of thevirtual model from which a smaller set of objects are identified orselected on which to perform the clearance test.

As such, the test buffer (also referred to as simply “buffer”) selectedcan have significant consequences on the computational resources neededto perform various clearance tests, particularly if results are to bedetermined in real-time, such as in connection with a network planningapplication on a device in the field. The importance of utilizing anefficient test buffer can be further demonstrated by examining twocontrasting conventional approaches, referred to herein as the boundingbox approach illustrated at FIG. 2A and the fixed-width approachillustrated at FIG. 2B. Examination of these two distinct approaches canreveal advantages and disadvantages with both.

Illustration 200A depicts transceivers 102 and 104, connected by LoS 202in accordance with certain embodiments of this disclosure. Theseelements are enveloped by Fresnel zone 101. It is noted that objectsthat intersect Fresnel zone 101 (e.g., the clearance buffer) are likelyto interfere with a signal between transceivers 102 and 104.

A bounding box approach selects a bounding box 204 that includes bothtransceivers 102 and 104. As such, the total area of bounding box 204 isa function of the angle between transceivers (relative to some cardinaldirection). As illustrated, this angle is approximately 30 degrees inthis example. However, it can be readily visualized that if the anglewas zero degrees (e.g., horizontal or vertical), then the area of thebounding box is minimized and most closely approximate Fresnel zone 101,whereas at 45 degrees, the area is maximized.

It is observed that one strength of the bounding box approach is thatbecause bounding box 204 is aligned with the cardinal directions of thephysical space (e.g., the Earth) and/or the geospatial coordinate systemof the virtualized model of the physical space, the calculations for theclearance test can be very efficient. One potential weakness, however,is when LoS 202 is not aligned with one of the cardinal directions, thearea of bounding box 204 becomes much larger than the Fresnel zone. Suchcan lead to an excessive number of objects being selected on which torun clearance tests, and thus decreases the effectiveness andscalability of the system.

In other words, the bounding box approach is fast and efficient in termsof performing clearance tests against objects retrieved from the datastore, but extremely inefficient due to the excessive size of boundingbox 204 relative to Fresnel zone 101. This size disparity causes a muchgreater number of objects to be retrieved from the data store, each onerelying on clearance tests to be performed. So, more efficient clearancetesting, but more clearance tests performed.

In contrast, the fixed-width approach, depicted by illustration 200B,relies on a fixed-width buffer 206 that is fixed to be equal to orgreater than the diameter of Fresnel zone 101. Such a test buffertypically has a very small size, irrespective of the angle of LoS 202.Therefore, fewer objects will be retrieved from the data store uponwhich to perform the clearance test, which is an advantage. However,because the fixed-width buffer 206 is aligned with the angle of LoS 202instead of with geospatial cardinal directions (as with the bounding boxapproach), the clearance test computations cannot be performed the sameway. Rather, testing that the clearance buffer contains a given objectsor intersects with a given object relies on computation of the distancebetween the object and the shape (e.g., LoS 202) for which the buffer isdefined. This distance computation is typically expensive, especiallyfor large datasets.

Hence, whereas the bounding box approach produces inexpensive clearancetests, but many more clearance tests, the fixed-width approach producesfewer clearance tests, but more expensive testing per object. Due to thepotential disadvantages of both these approaches, neither one issuitably scalable nor efficient.

In order to remedy potential shortcomings of conventional approaches, anew technique for selecting a test buffer is proposed. For example, a 2Dtest buffer around LoS 202 can be defined in such a way that this bufferwill contain all the objects that may intersect the clearance buffer(e.g., the Fresnel zone). In some embodiments, while the test buffer canrely on a 2D representation of the physical space, the clearance buffercan rely on a 3D representation for intersection testing. The 2D bufferrefers to latitude and longitude (e.g., x-axis and y-axis coordinates)and can ignore the height (e.g., z-axis coordinates) of the objects inorder to facilitate rapid object retrieval. Retrieving using an index ofonly the objects in the buffer can significantly decrease the number ofintersection tests the system performs. Such can therefore increase theefficiency and scalability of the system. In some embodiments, such canbe applied with any spatial index including a grid index, kd-tree,R-tree, quad tree, GiST index and so on.

While such indexing can provide rapid and efficient retrieval, there isstill the question of how to efficiently define the test buffer thatdetermines which indexed objects are to be retrieved from the data storeand on which to perform clearance testing. As noted above, othersolutions such as the bounding box approach and the fixed-width approacheach have distinct shortcomings because the former tends to retrieve anexcessive number of objects to be tested, while the latter tends tocause the clearance testing to be more expensive in terms ofcomputational resources used to perform the clearance testing.

In accordance with the disclosed subject matter, it is proposed to use atesting buffer that is made of variable size rectangles. Theserectangles can, in sequence, cover LoS 202 and Fresnel zone 101. Thus,any object that intersects Fresnel zone 101 must also intersect at leastone of the rectangular shapes that constitute the buffer. An example ofthe proposed rectangular shapes used to form the test buffer can befound at FIGS. 4A and 4B.

It will become apparent that a test buffer built from many individualrectangle shapes (as opposed to just one associated with previousapproaches) can lead to several advantages. For example, the test bufferis tight in the sense that the area covered by the rectangles does notcontain large spaces outside the Fresnel zone as is the case for thebounding box approach. As another example, because the rectangles areindividually aligned according to a cardinal direction, for eachrectangle, a clearance test is similar to that of the bounding boxapproach, so it is extremely fast like the bounding box, but without thedisadvantages of the bounding box approach.

As yet another advantage, the proposed techniques support adaptivechanges to positions of the transceivers 102 or 104. In the case of arelatively small movement of a transceiver 102 or 104, it is possible tocompute the difference and retrieve just the newly added objects fromthe rectangles that represent the change, which is further detailed inconnection with FIG. 5B. Other advantages will become apparent uponreview of the remainder of this specification.

Example Systems

Referring now to FIG. 3, device 300 is depicted. Device 300 can performa network planning operation based on a group of defined rectanglesrepresenting a test buffer in accordance with certain embodiments ofthis disclosure. Device 300 can comprise a processor 302 that can bespecifically configured to perform a network planning procedure inconnection with a physical space and a memory 304 that stores executableinstructions that, when executed by the processor, facilitateperformance of operations. Device 300 can comprise network planningcomponent 306 that can be specifically tailored to perform networkplanning operations. Processor 302 can be a hardware processor havingstructural elements known to exist in connection with processing unitsor circuits, with various operations of processor 302 being representedby functional elements shown in the drawings herein that can requirespecial-purpose instructions, for example stored in memory 304 and/ornetwork planning component 306. Along with these special-purposeinstructions, processor 302 and/or device 300 can be a special-purposedevice. Further examples of the memory 304 and processor 302 can befound with reference to FIG. 10. It is to be appreciated that device 300or computer 1002 can represent a server device of a communicationsnetwork or a user equipment device and can be used in connection withimplementing one or more of the systems, devices, or components shownand described in connection with FIG. 3 and other figures disclosedherein.

As introduced above, device 300 and/or processor 302 can be configuredto perform a network planning procedure that tests whether physicalobject(s) 308 of a physical space 310 might potentially obstruct asignal between two transceivers 102 and 104 situated in the physicalspace 310. Such can be accomplished based on access to a data store 312that can comprise a virtual model (e.g., modeled space 314) of thephysical space 310 and can include modeled objects 316 that modelphysical objects 308. Further operations performed by device 300 and/orprocessor 302 can comprise the following.

While still referring to FIG. 3, but turning as well to FIGS. 4A and 4B,illustration 400A depicts an example of the buffer region that iscomposed of a group of rectangles in accordance with certain embodimentsof this disclosure; and illustration 400B depicts an example of one ofthe rectangles in the context of cardinal directions in further detailin accordance with certain embodiments of this disclosure.

As illustrated at reference numeral 318 of FIG. 3, device 300 can definea group of rectangles. This group of rectangles (an example of which isindicated in FIG. 4A as rectangles 402 ₁-402 _(N)) can be situated alonga LoS (e.g., LoS 202) between two transceivers (e.g., transceivers 102and 104). In combination, the group of rectangles 402 can representbuffer region 320 (e.g., an improved test buffer) that encompasses aFresnel zone (e.g., Fresnel zone 101) of the two transceivers. In otherwords, buffer region 320 can reflect the summation of the areas of thegroup of rectangles 402 ₁-402 _(N).

Advantageously, a rectangle (e.g., rectangle 402 ₆) of the group ofrectangles 402 ₁-402 _(N) can be oriented to align with cardinaldirections 408 of physical space 310 independent of an angle 410 (e.g.,0) of LoS 202 relative to one of the cardinal directions 408. It isappreciated that angle 410 can be assumed to be between zero and 45degrees. Otherwise, the same computations can be performed by merelyappropriately rotating to a different of the four cardinal directions408. Furthermore, attention is drawn to the top-left corner of rectangle402 ₆ (as depicted in illustration 400B), denoted point 404 and thebottom-right corner, denoted 406. Points 404 and 406 are either upon orjust narrowly outside the boundaries of Fresnel zone 101, illustratingthat the entirety of Fresnel zone 101 is encased by rectangles 402and/or there are no points within Fresnel zone 101 that are not alsowithin buffer region 320.

Device 300 can further request objects in buffer region 320, which isillustrated at reference numeral 322. Such can comprise requesting fromdata store 312 modeled object(s) 316 that are determined to be in bufferregion 320. Recall buffer region 320 represents a combination of thegroup of rectangles 402 that, in combination, are guaranteed to includeall objects in Fresnel zone 101, as illustrated by points 404 and 406.It is noted that while other solutions also attempt to retrieve objectswithin a test buffer, other solutions use a test buffer that is verydifferent from buffer region 320 and therefore do not realize thebenefits of relying on buffer region 320, which can be significantlysmaller and equally as fast per test as the bounding box approach; andequally small, but significantly faster per test than the fixed-widthapproach.

As illustrated at reference numeral 324, device 300 can determinewhether the signal is obstructed based on the modeled object(s) 316 thatwere received from data store 312. It is appreciated that the modeledobject(s) 316 will potentially differ from those retrieved by othersolutions, as other solutions rely on test buffers having differentshapes/sizes than buffer region 320.

It is appreciated that while modeled space 314 can be a 3D space, insome embodiments, Fresnel zone 101, rectangles 402, and other elementsdetailed herein can be 2D elements. Such can be accomplished by simplyignoring the z-coordinate (e.g., height/elevation) and using only the xand y coordinates, resulting in a 2D projection onto the earth. Thus,determining which object to retrieve from modeled space 314 can bedetermined based on the 2D projection.

Still referring to FIGS. 4A and 4B, illustration 400A shows, by way ofexample, ten individual rectangles 402 ₁-402 _(N), where N is ten.However, it is appreciated that N can be any natural number greater thanone. Thus, device 300 can in some embodiments, determine the number, N,of rectangles based on various factors or conditions. For example, insome embodiments, N can be determined as a function of a distancebetween two transceivers (e.g., distance 106, D) and a unit distance412. Unit distance 412, illustrated as, x, shown in illustration 400Bcan be representative of a defined distance along LoS 202. As oneexample, unit distance 412 can be 100 meters. Regardless, N can bedetermined as distance 106, D, divided by unit distance 412, x, in someembodiments.

As is appreciated, the number, N, of rectangles 402 can affect theoperations of the network planning procedure and N can be controlled byunit distance 412, x. Furthermore, the width 414 of a given rectanglecan be determined as a function of unit distance 412. Hence, eachrectangle 402 can have a constant width 414, which can be a function ofunit distance 412. In some embodiments, width 414 of rectangle(s) 402can be a function of the unit distance and a cosine of angle 410 of LoS202 relative to one of the cardinal directions 408. For example,w=x*cos(θ).

Thus, unit distance 412, x, can be an interesting parameter to tweak theoperation for different implementation criteria or the like. As noted,unit distance 412 can be implemented as a default value (e.g., 100meters) in some embodiments, while, in other embodiments, unit distance412 can be input to device 300. In either case, it is appreciated thatunit distance 412 can be an adjustable parameter.

Even though width 414 can be constant for each of the many rectangles402, the length 416 of each rectangle 402 can vary because a radius 108of Fresnel zone 101 varies over the span of LoS 202. For example, arespective length 416 of a given rectangle 402 varies based on alocation along the LoS 202 in response to variances in a radius 108 ofthe Fresnel zone at different locations along LoS 202.

As illustrated, in some embodiments, length 416 can be a combination ofthree separate portions of a given rectangle 402. For example, length416 can be the sum of first length 416A, second length 416B, and thirdlength 416C. In some embodiments, first length 416A can be x*sin(θ). Insome embodiments, second length 416B can be r1/cos(θ), where r1 is aradius of Fresnel zone 101 at a position along LoS 202 of a right sideof rectangle 402. In some embodiments, third length 416Bc can ber2/cos(θ), where r2 is a radius of Fresnel zone 101 at a position alongLoS 202 of a left side of rectangle 402.

Referring now to FIG. 5A, depiction 500A is presented. Depiction 500Aillustrates an alternative embodiment in which the buffer region iscomposed of a number of squares in accordance with certain embodimentsof this disclosure. It is observed that a square is a specific type ofrectangle, one in which length and width are equal. Thus, buffer region320 composed of a group of squares 502 yields some differences. Forexample, a respective side, both length and width (illustrated as length504), of a square 504 can change according to a position of therespective square 502 along LoS 202. Recall from the previous rectangleexample, a respective width 414 of each rectangle 402 is constant,whereas only the length 416 varied according to position along LoS 202.

Hence, whereas the rectangle embodiment typically has no overlappingbetween individual rectangles 402, the square embodiment can haveoverlapping portions 506, which is illustrated by the diagonal lines. Insome cases, this square shaped embodiment can simplify the computationsof the rectangle dimensions.

Turning now to FIG. 5B, depiction 500B is presented. Depiction 500Billustrates an example of performing updated computations in response toan update to a position of one of the two transceivers in accordancewith certain embodiments of this disclosure. For example, consider thatdevice 300 receives an update to a position of one of the twotransceivers 102 or 104, for instance via a user interface of device300. Such is illustrated as update 506 that moves transceiver 102 fromposition 102A to position 102B.

Consider that results can have already been returned based on thetransceiver being at position 102A. As such, only objects determined tobe in updated buffer region 320B need be retrieved from data store 312and tested, as other objects have already been retrieved and tested. Inother words, based on update 506, device 300 can determine updatedbuffer region 320B to exclude regions of buffer region 320 from whichmodeled objects 316 were previously retrieved.

Thereafter, device 300 can request from data store 312 additionalobjects. These additional objects can be representative of physicalobjects 308 of physical space 310 that are determined to be in updatedbuffer region 320B, while exclusive of the modeled objects 316determined to be in buffer region 320. Device 300 can then determinewhether the signal is likely to be obstructed based on the additionalmodeled objects received from data store 312 in response to update 506to the position of transceiver 102.

Example Methods

FIGS. 6 and 7 illustrate various methodologies in accordance with thedisclosed subject matter. While, for purposes of simplicity ofexplanation, the methodologies are shown and described as a series ofacts, it is to be understood and appreciated that the disclosed subjectmatter is not limited by the order of acts, as some acts may occur indifferent orders and/or concurrently with other acts from that shown anddescribed herein. For example, those skilled in the art will understandand appreciate that a methodology could alternatively be represented asa series of interrelated states or events, such as in a state diagram.Moreover, not all illustrated acts may be required to implement amethodology in accordance with the disclosed subject matter.Additionally, it should be further appreciated that the methodologiesdisclosed hereinafter and throughout this specification are capable ofbeing stored on an article of manufacture to facilitate transporting andtransferring such methodologies to computers.

Turning now to FIG. 6, exemplary method 600 is depicted. Method 600 canperform a network planning operation based on a group of definedrectangles representing a test buffer in accordance with certainembodiments of this disclosure. For example, at reference numeral 602, adevice comprising a processor can perform a network planning procedure.The network planning procedure can test whether a physical object of aphysical space obstructs a signal between two transceivers positioned inthe physical space. This test can be based on access to a data storecomprising a virtual model (e.g., a modeled space) of the physicalspace.

At reference numeral 604, the device can define rectangles that arepositioned along a line of sight between the two transceivers. Theserectangles can, collectively, represent a buffer region that encompassesa Fresnel zone of the two transceivers. A rectangle of the rectanglescan be oriented to align with cardinal directions of the physical spaceindependent of an angle of the line of sight relative to one of thecardinal directions. In other words, the rectangle is not orientedaccording to the line of sight (e.g., as for the fixed-width approach),but rather based on the cardinal directions, which can improve thecomputational efficiency of subsequent clearance tests given the modeledspace is typically compiled relative to cardinal directions of thecorresponding physical space (e.g., latitude, longitude, etc.).

At reference numeral 608, the device can receive, from the data store, amodeled object representative of the physical object of the physicalspace. This modeled object can be received in response to beingdetermined to be in the buffer region that encompasses the Fresnel zone.Method 600 can stop or proceed to insert A, which is further detailed inconnection with FIG. 7.

With reference now to FIG. 7, exemplary method 700 is illustrated.Method 700 can provide for additional elements or aspects in connectionwith performing a network planning procedure based on a group of definedrectangles representing a test buffer in accordance with certainembodiments of this disclosure. For example, at reference numeral 702,the device determines whether the signal is likely to be obstructedbased on the modeled object received from the data store.

At reference numeral 704, the device can receive, via a user interfaceof the device, an update to a position of one of the two transceivers.At reference numeral 706, the device can determine an updated bufferregion. The updated buffer region excludes portions of the buffer regionfrom which modeled objects were previously retrieved.

Example Operating Environments

To provide further context for various aspects of the subjectspecification, FIG. 8 illustrates an example wireless communicationenvironment 800, with associated components that can enable operation ofa femtocell enterprise network in accordance with aspects describedherein. Wireless communication environment 800 comprises two wirelessnetwork platforms: (i) A macro network platform 810 that serves, orfacilitates communication with, user equipment 875 via a macro radioaccess network (RAN) 870. It should be appreciated that in cellularwireless technologies (e.g., 4G, 3GPP UMTS, HSPA, 3GPP LTE, 3GPP UMB,5G), macro network platform 810 is embodied in a Core Network. (ii) Afemto network platform 880, which can provide communication with UE 875through a femto RAN 890, linked to the femto network platform 880through a routing platform 887 via backhaul pipe(s) 885. It should beappreciated that femto network platform 880 typically offloads UE 875from macro network, once UE 875 attaches (e.g., through macro-to-femtohandover, or via a scan of channel resources in idle mode) to femto RAN.

It is noted that RAN comprises base station(s), or access point(s), andits associated electronic circuitry and deployment site(s), in additionto a wireless radio link operated in accordance with the basestation(s). Accordingly, macro RAN1370 can comprise various coveragecells, while femto RAN 890 can comprise multiple femto access points ormultiple metro cell access points. As mentioned above, it is to beappreciated that deployment density in femto RAN 890 can besubstantially higher than in macro RAN 870.

Generally, both macro and femto network platforms 810 and 880 comprisecomponents, e.g., nodes, gateways, interfaces, servers, or platforms,that facilitate both packet-switched (PS) (e.g., internet protocol (IP),Ethernet, frame relay, asynchronous transfer mode (ATM)) andcircuit-switched (CS) traffic (e.g., voice and data) and controlgeneration for networked wireless communication. In an aspect of thesubject innovation, macro network platform 810 comprises CS gatewaynode(s) 812 which can interface CS traffic received from legacy networkslike telephony network(s) 840 (e.g., public switched telephone network(PSTN), or public land mobile network (PLMN)) or a SS7 network 860.Circuit switched gateway 812 can authorize and authenticate traffic(e.g., voice) arising from such networks. Additionally, CS gateway 812can access mobility, or roaming, data generated through SS7 network 860;for instance, mobility data stored in a VLR, which can reside in memory830. Moreover, CS gateway node(s) 812 interfaces CS-based traffic andsignaling and gateway node(s) 818. As an example, in a 3GPP UMTSnetwork, gateway node(s) 818 can be embodied in gateway GPRS supportnode(s) (GGSN).

In addition to receiving and processing CS-switched traffic andsignaling, gateway node(s) 818 can authorize and authenticate PS-baseddata sessions with served (e.g., through macro RAN) wireless devices.Data sessions can comprise traffic exchange with networks external tothe macro network platform 810, like wide area network(s) (WANs) 850; itshould be appreciated that local area network(s) (LANs) can also beinterfaced with macro network platform 810 through gateway node(s) 818.Gateway node(s) 818 generates packet data contexts when a data sessionis established. To that end, in an aspect, gateway node(s) 818 cancomprise a tunnel interface (e.g., tunnel termination gateway (TTG) in3GPP UMTS network(s); not shown) which can facilitate packetizedcommunication with disparate wireless network(s), such as Wi-Finetworks. It should be further appreciated that the packetizedcommunication can comprise multiple flows that can be generated throughserver(s) 814. It is to be noted that in 3GPP UMTS network(s), gatewaynode(s)1318 (e.g., GGSN) and tunnel interface (e.g., TTG) comprise apacket data gateway (PDG).

Macro network platform 810 also comprises serving node(s) 816 thatconvey the various packetized flows of information or data streams,received through gateway node(s) 818. As an example, in a 3GPP UMTSnetwork, serving node(s) can be embodied in serving GPRS support node(s)(SGSN).

As indicated above, server(s) 814 in macro network platform 810 canexecute numerous applications (e.g., location services, online gaming,wireless banking, wireless device management . . . ) that generatemultiple disparate packetized data streams or flows, and manage (e.g.,schedule, queue, format . . . ) such flows. Such application(s), forexample can comprise add-on features to standard services provided bymacro network platform 810. Data streams can be conveyed to gatewaynode(s) 818 for authorization/authentication and initiation of a datasession, and to serving node(s) 816 for communication thereafter.Server(s) 814 can also effect security (e.g., implement one or morefirewalls) of macro network platform 810 to ensure network's operationand data integrity in addition to authorization and authenticationprocedures that CS gateway node(s) 812 and gateway node(s) 818 canenact. Moreover, server(s) 814 can provision services from externalnetwork(s), e.g., WAN 850, or Global Positioning System (GPS) network(s)(not shown). It is to be noted that server(s) 814 can comprise one ormore processor configured to confer at least in part the functionalityof macro network platform 810. To that end, the one or more processorcan execute code instructions stored in memory 830, for example.

In example wireless environment 800, memory 830 stores informationrelated to operation of macro network platform 810. Information cancomprise business data associated with subscribers; market plans andstrategies, e.g., promotional campaigns, business partnerships;operational data for mobile devices served through macro networkplatform; service and privacy policies; end-user service logs for lawenforcement; and so forth. Memory 830 can also store information from atleast one of telephony network(s) 840, WAN(s) 850, or SS7 network 860,enterprise NW(s) 865, or service NW(s) 867.

Femto gateway node(s) 884 have substantially the same functionality asPS gateway node(s) 818. Additionally, femto gateway node(s) 884 can alsocomprise substantially all functionality of serving node(s) 816. In anaspect, femto gateway node(s) 884 facilitates handover resolution, e.g.,assessment and execution. Further, control node(s) 820 can receivehandover requests and relay them to a handover component (not shown) viagateway node(s) 884. According to an aspect, control node(s) 820 cansupport RNC capabilities.

Server(s) 882 have substantially the same functionality as described inconnection with server(s) 814. In an aspect, server(s) 882 can executemultiple application(s) that provide service (e.g., voice and data) towireless devices served through femto RAN 890. Server(s) 882 can alsoprovide security features to femto network platform. In addition,server(s) 882 can manage (e.g., schedule, queue, format . . . )substantially all packetized flows (e.g., IP-based) it generates inaddition to data received from macro network platform 810. It is to benoted that server(s) 882 can comprise one or more processor configuredto confer at least in part the functionality of macro network platform810. To that end, the one or more processor can execute codeinstructions stored in memory 886, for example.

Memory 886 can comprise information relevant to operation of the variouscomponents of femto network platform 880. For example, operationalinformation that can be stored in memory 886 can comprise, but is notlimited to, subscriber information; contracted services; maintenance andservice records; femto cell configuration (e.g., devices served throughfemto RAN 890; access control lists, or white lists); service policiesand specifications; privacy policies; add-on features; and so forth.

It is noted that femto network platform 880 and macro network platform810 can be functionally connected through one or more reference link(s)or reference interface(s). In addition, femto network platform 880 canbe functionally coupled directly (not illustrated) to one or more ofexternal network(s) 840, 850, 860, 865 or 867. Reference link(s) orinterface(s) can functionally link at least one of gateway node(s) 884or server(s) 886 to the one or more external networks 840, 850, 860, 865or 867.

FIG. 9 illustrates a wireless environment that comprises macro cells andfemtocells for wireless coverage in accordance with aspects describedherein. In wireless environment 905, two areas represent “macro” cellcoverage; each macro cell is served by a base station 910. It can beappreciated that macro cell coverage area 905 and base station 910 cancomprise functionality, as more fully described herein, for example,with regard to system 900. Macro coverage is generally intended to servemobile wireless devices, like UE 920 _(A), 920 _(B), in outdoorslocations. An over-the-air (OTA) wireless link 935 provides suchcoverage, the wireless link 935 comprises a downlink (DL) and an uplink(UL), and utilizes a predetermined band, licensed or unlicensed, of theradio frequency (RF) spectrum. As an example, UE 920 _(A), 920 _(B) canbe a 3GPP Universal Mobile Telecommunication System (UMTS) mobile phone.It is noted that a set of base stations, its associated electronics,circuitry or components, base stations control component(s), andwireless links operated in accordance to respective base stations in theset of base stations form a radio access network (RAN). In addition,base station 910 communicates via backhaul link(s) 951 with a macronetwork platform 960, which in cellular wireless technologies (e.g., 3rdGeneration Partnership Project (3GPP) Universal Mobile TelecommunicationSystem (UMTS), Global System for Mobile Communication (GSM)) representsa core network.

In an aspect, macro network platform 960 controls a set of base stations910 that serve either respective cells or a number of sectors withinsuch cells. Base station 910 comprises radio equipment 914 for operationin one or more radio technologies, and a set of antennas 912 (e.g.,smart antennas, microwave antennas, satellite dish(es) . . . ) that canserve one or more sectors within a macro cell 905. It is noted that aset of radio network control node(s), which can be a part of macronetwork platform 960; a set of base stations (e.g., Node B 910) thatserve a set of macro cells 905; electronics, circuitry or componentsassociated with the base stations in the set of base stations; a set ofrespective OTA wireless links (e.g., links 915 or 916) operated inaccordance to a radio technology through the base stations; and backhaullink(s) 955 and 951 form a macro radio access network (RAN). Macronetwork platform 960 also communicates with other base stations (notshown) that serve other cells (not shown). Backhaul link(s) 951 or 953can comprise a wired backbone link (e.g., optical fiber backbone,twisted-pair line, T1/E1 phone line, a digital subscriber line (DSL)either synchronous or asynchronous, an asymmetric ADSL, or a coaxialcable . . . ) or a wireless (e.g., LoS or non-LoS) backbone link.Backhaul pipe(s) 955 link disparate base stations 910. According to anaspect, backhaul link 953 can connect multiple femto access points 930and/or controller components (CC) 901 to the femto network platform 902.In one example, multiple femto APs can be connected to a routingplatform (RP) 987, which in turn can be connect to a controllercomponent (CC) 901. Typically, the information from UEs 920 _(A) can berouted by the RP 987, for example, internally, to another UE 920 _(A)connected to a disparate femto AP connected to the RP 987, or,externally, to the femto network platform 902 via the CC 901, asdiscussed in detail supra.

In wireless environment 905, within one or more macro cell(s) 905, a setof femtocells 945 served by respective femto access points (APs) 930 canbe deployed. It can be appreciated that, aspects of the subjectinnovation can be geared to femtocell deployments with substantive femtoAP density, e.g., 9⁴-10⁷ femto APs 930 per base station 910. Accordingto an aspect, a set of femto access points 930 ₁-930 _(N), with N anatural number, can be functionally connected to a routing platform 987,which can be functionally coupled to a controller component 901. Thecontroller component 901 can be operationally linked to the femtonetwork platform 902 by employing backhaul link(s) 953. Accordingly, UE920 _(A) connected to femto APs 930 ₁-930 _(N) can communicateinternally within the femto enterprise via the routing platform (RP) 987and/or can also communicate with the femto network platform 902 via theRP 987, controller component 901 and the backhaul link(s) 953. It can beappreciated that although only one femto enterprise is depicted in FIG.9, multiple femto enterprise networks can be deployed within a macrocell 905.

It is noted that while various aspects, features, or advantagesdescribed herein have been illustrated through femto access point(s) andassociated femto coverage, such aspects and features also can beexploited for home access point(s) (HAPs) that provide wireless coveragethrough substantially any, or any, disparate telecommunicationtechnologies, such as for example Wi-Fi (wireless fidelity) or picocelltelecommunication. Additionally, aspects, features, or advantages of thesubject innovation can be exploited in substantially any wirelesstelecommunication, or radio, technology; for example, Wi-Fi, WorldwideInteroperability for Microwave Access (WiMAX), Enhanced General PacketRadio Service (Enhanced GPRS), 3GPP LTE, 3GPP2 UMB, 3GPP UMTS, HSPA,HSDPA, HSUPA, or LTE Advanced. Moreover, substantially all aspects ofthe subject innovation can comprise legacy telecommunicationtechnologies.

With respect to FIG. 9, in example embodiment 900, base station AP 910can receive and transmit signal(s) (e.g., traffic and control signals)from and to wireless devices, access terminals, wireless ports androuters, etc., through a set of antennas 912 ₁-912 _(N). It should beappreciated that while antennas 912 ₁-912 _(N) are a part ofcommunication platform 925, which comprises electronic components andassociated circuitry that provides for processing and manipulating ofreceived signal(s) (e.g., a packet flow) and signal(s) (e.g., abroadcast control channel) to be transmitted. In an aspect,communication platform 925 comprises a transmitter/receiver (e.g., atransceiver) 966 that can convert signal(s) from analog format todigital format upon reception, and from digital format to analog formatupon transmission. In addition, receiver/transmitter 966 can divide asingle data stream into multiple, parallel data streams, or perform thereciprocal operation. Coupled to transceiver 966 is amultiplexer/demultiplexer 967 that facilitates manipulation of signal intime and frequency space. Electronic component 967 can multiplexinformation (data/traffic and control/signaling) according to variousmultiplexing schemes such as time division multiplexing (TDM), frequencydivision multiplexing (FDM), orthogonal frequency division multiplexing(OFDM), code division multiplexing (CDM), space division multiplexing(SDM). In addition, mux/demux component 967 can scramble and spreadinformation (e.g., codes) according to substantially any code known inthe art; e.g., Hadamard-Walsh codes, Baker codes, Kasami codes,polyphase codes, and so on. A modulator/demodulator 968 is also a partof operational group 925, and can modulate information according tomultiple modulation techniques, such as frequency modulation, amplitudemodulation (e.g., M-ary quadrature amplitude modulation (QAM), with M apositive integer), phase-shift keying (PSK), and the like.

Referring now to FIG. 10, there is illustrated a block diagram of anexemplary computer system operable to execute the disclosedarchitecture. In order to provide additional context for variousembodiments described herein, FIG. 10 and the following discussion areintended to provide a brief, general description of a suitable computingenvironment 1000 in which the various embodiments of the embodimentdescribed herein can be implemented. While the embodiments have beendescribed above in the general context of computer-executableinstructions that can run on one or more computers, those skilled in theart will recognize that the embodiments can be also implemented incombination with other program modules and/or as a combination ofhardware and software.

Generally, program modules include routines, programs, components, datastructures, etc., that perform particular tasks or implement particularabstract data types. Moreover, those skilled in the art will appreciatethat the various methods can be practiced with other computer systemconfigurations, including single-processor or multiprocessor computersystems, minicomputers, mainframe computers, Internet of Things (IoT)devices, distributed computing systems, as well as personal computers,hand-held computing devices, microprocessor-based or programmableconsumer electronics, and the like, each of which can be operativelycoupled to one or more associated devices.

The illustrated embodiments of the embodiments herein can be alsopracticed in distributed computing environments where certain tasks areperformed by remote processing devices that are linked through acommunications network. In a distributed computing environment, programmodules can be located in both local and remote memory storage devices.

Computing devices typically include a variety of media, which caninclude computer-readable storage media, machine-readable storage media,and/or communications media, which two terms are used herein differentlyfrom one another as follows. Computer-readable storage media ormachine-readable storage media can be any available storage media thatcan be accessed by the computer and includes both volatile andnonvolatile media, removable and non-removable media. By way of example,and not limitation, computer-readable storage media or machine-readablestorage media can be implemented in connection with any method ortechnology for storage of information such as computer-readable ormachine-readable instructions, program modules, structured data orunstructured data.

Computer-readable storage media can include, but are not limited to,random access memory (RAM), read only memory (ROM), electricallyerasable programmable read only memory (EEPROM), flash memory or othermemory technology, compact disk read only memory (CD-ROM), digitalversatile disk (DVD), Blu-ray disc (BD) or other optical disk storage,magnetic cassettes, magnetic tape, magnetic disk storage or othermagnetic storage devices, solid state drives or other solid statestorage devices, or other tangible and/or non-transitory media which canbe used to store desired information. In this regard, the terms“tangible” or “non-transitory” herein as applied to storage, memory orcomputer-readable media, are to be understood to exclude onlypropagating transitory signals per se as modifiers and do not relinquishrights to all standard storage, memory or computer-readable media thatare not only propagating transitory signals per se.

Computer-readable storage media can be accessed by one or more local orremote computing devices, e.g., via access requests, queries or otherdata retrieval protocols, for a variety of operations with respect tothe information stored by the medium.

Communications media typically embody computer-readable instructions,data structures, program modules or other structured or unstructureddata in a data signal such as a modulated data signal, e.g., a carrierwave or other transport mechanism, and includes any information deliveryor transport media. The term “modulated data signal” or signals refersto a signal that has one or more of its characteristics set or changedin such a manner as to encode information in one or more signals. By wayof example, and not limitation, communication media include wired media,such as a wired network or direct-wired connection, and wireless mediasuch as acoustic, RF, infrared and other wireless media.

With reference again to FIG. 10, the example environment 1000 forimplementing various embodiments of the aspects described hereinincludes a computer 1002, the computer 1002 including a processing unit1004, a system memory 1006 and a system bus 1008. The system bus 1008couples system components including, but not limited to, the systemmemory 1006 to the processing unit 1004. The processing unit 1004 can beany of various commercially available processors. Dual microprocessorsand other multi-processor architectures can also be employed as theprocessing unit 1004.

The system bus 1008 can be any of several types of bus structure thatcan further interconnect to a memory bus (with or without a memorycontroller), a peripheral bus, and a local bus using any of a variety ofcommercially available bus architectures. The system memory 1006includes ROM 1010 and RAM 1012. A basic input/output system (BIOS) canbe stored in a non-volatile memory such as ROM, erasable programmableread only memory (EPROM), EEPROM, which BIOS contains the basic routinesthat help to transfer information between elements within the computer1002, such as during startup. The RAM 1012 can also include a high-speedRAM such as static RAM for caching data.

The computer 1002 further includes an internal hard disk drive (HDD)1014 (e.g., EIDE, SATA), one or more external storage devices 1016(e.g., a magnetic floppy disk drive (FDD) 1016, a memory stick or flashdrive reader, a memory card reader, etc.) and an optical disk drive 1020(e.g., which can read or write from a CD-ROM disc, a DVD, a BD, etc.).While the internal HDD 1014 is illustrated as located within thecomputer 1002, the internal HDD 1014 can also be configured for externaluse in a suitable chassis (not shown). Additionally, while not shown inenvironment 1000, a solid state drive (SSD) could be used in additionto, or in place of, an HDD 1014. The HDD 1014, external storagedevice(s) 1016 and optical disk drive 1020 can be connected to thesystem bus 1008 by an HDD interface 1024, an external storage interface1026 and an optical drive interface 1028, respectively. The interface1024 for external drive implementations can include at least one or bothof Universal Serial Bus (USB) and Institute of Electrical andElectronics Engineers (IEEE) 1094 interface technologies. Other externaldrive connection technologies are within contemplation of theembodiments described herein.

The drives and their associated computer-readable storage media providenonvolatile storage of data, data structures, computer-executableinstructions, and so forth. For the computer 1002, the drives andstorage media accommodate the storage of any data in a suitable digitalformat. Although the description of computer-readable storage mediaabove refers to respective types of storage devices, it should beappreciated by those skilled in the art that other types of storagemedia which are readable by a computer, whether presently existing ordeveloped in the future, could also be used in the example operatingenvironment, and further, that any such storage media can containcomputer-executable instructions for performing the methods describedherein.

A number of program modules can be stored in the drives and RAM 1012,including an operating system 1030, one or more application programs1032, other program modules 1034 and program data 1036. All or portionsof the operating system, applications, modules, and/or data can also becached in the RAM 1012. The systems and methods described herein can beimplemented utilizing various commercially available operating systemsor combinations of operating systems.

Computer 1002 can optionally comprise emulation technologies. Forexample, a hypervisor (not shown) or other intermediary can emulate ahardware environment for operating system 1030, and the emulatedhardware can optionally be different from the hardware illustrated inFIG. 10. In such an embodiment, operating system 1030 can comprise onevirtual machine (VM) of multiple VMs hosted at computer 1002.Furthermore, operating system 1030 can provide runtime environments,such as the Java runtime environment or the .NET framework, forapplications 1032. Runtime environments are consistent executionenvironments that allow applications 1032 to run on any operating systemthat includes the runtime environment. Similarly, operating system 1030can support containers, and applications 1032 can be in the form ofcontainers, which are lightweight, standalone, executable packages ofsoftware that include, e.g., code, runtime, system tools, systemlibraries and settings for an application.

Further, computer 1002 can be enable with a security module, such as atrusted processing module (TPM). For instance, with a TPM, bootcomponents hash next in time boot components, and wait for a match ofresults to secured values, before loading a next boot component. Thisprocess can take place at any layer in the code execution stack ofcomputer 1002, e.g., applied at the application execution level or atthe operating system (OS) kernel level, thereby enabling security at anylevel of code execution.

A user can enter commands and information into the computer 1002 throughone or more wired/wireless input devices, e.g., a keyboard 1038, a touchscreen 1040, and a pointing device, such as a mouse 1042. Other inputdevices (not shown) can include a microphone, an infrared (IR) remotecontrol, a radio frequency (RF) remote control, or other remote control,a joystick, a virtual reality controller and/or virtual reality headset,a game pad, a stylus pen, an image input device, e.g., camera(s), agesture sensor input device, a vision movement sensor input device, anemotion or facial detection device, a biometric input device, e.g.,fingerprint or iris scanner, or the like. These and other input devicesare often connected to the processing unit 1004 through an input deviceinterface 1044 that can be coupled to the system bus 1008, but can beconnected by other interfaces, such as a parallel port, an IEEE 1394serial port, a game port, a USB port, an IR interface, a BLUETOOTH®interface, etc.

A monitor 1046 or other type of display device can be also connected tothe system bus 1008 via an interface, such as a video adapter 1048. Inaddition to the monitor 1046, a computer typically includes otherperipheral output devices (not shown), such as speakers, printers, etc.

The computer 1002 can operate in a networked environment using logicalconnections via wired and/or wireless communications to one or moreremote computers, such as a remote computer(s) 1050. The remotecomputer(s) 1050 can be a workstation, a server computer, a router, apersonal computer, portable computer, microprocessor-based entertainmentappliance, a peer device or other common network node, and typicallyincludes many or all of the elements described relative to the computer1002, although, for purposes of brevity, only a memory/storage device1052 is illustrated. The logical connections depicted includewired/wireless connectivity to a local area network (LAN) 1054 and/orlarger networks, e.g., a wide area network (WAN) 1056. Such LAN and WANnetworking environments are commonplace in offices and companies, andfacilitate enterprise-wide computer networks, such as intranets, all ofwhich can connect to a global communications network, e.g., theInternet.

When used in a LAN networking environment, the computer 1002 can beconnected to the local network 1054 through a wired and/or wirelesscommunication network interface or adapter 1058. The adapter 1058 canfacilitate wired or wireless communication to the LAN 1054, which canalso include a wireless access point (AP) disposed thereon forcommunicating with the adapter 1058 in a wireless mode.

When used in a WAN networking environment, the computer 1002 can includea modem 1060 or can be connected to a communications server on the WAN1056 via other means for establishing communications over the WAN 1056,such as by way of the Internet. The modem 1060, which can be internal orexternal and a wired or wireless device, can be connected to the systembus 1008 via the input device interface 1044. In a networkedenvironment, program modules depicted relative to the computer 1002 orportions thereof, can be stored in the remote memory/storage device1052. It will be appreciated that the network connections shown areexample and other means of establishing a communications link betweenthe computers can be used.

The computer 1002 is operable to communicate with any wireless devicesor entities operatively disposed in wireless communication, e.g., aprinter, scanner, desktop and/or portable computer, portable dataassistant, communications satellite, any piece of equipment or locationassociated with a wirelessly detectable tag (e.g., a kiosk, news stand,restroom), and telephone. This comprises at least Wi-Fi and Bluetooth™wireless technologies. Thus, the communication can be a predefinedstructure as with a conventional network or simply an ad hoccommunication between at least two devices.

Wi-Fi, or Wireless Fidelity, allows connection to the Internet from acouch at home, a bed in a hotel room, or a conference room at work,without wires. Wi-Fi is a wireless technology similar to that used in acell phone that enables such devices, e.g., computers, to send andreceive data indoors and out; anywhere within the range of a basestation. Wi-Fi networks use radio technologies called IEEE 802.11 (a, b,g, n, etc.) to provide secure, reliable, fast wireless connectivity. AWi-Fi network can be used to connect computers to each other, to theInternet, and to wired networks (which use IEEE802.3 or Ethernet). Wi-Finetworks operate in the unlicensed 2.4 and 5 GHz radio bands, at an 11Mbps (802.11b) or 54 Mbps (802.11a) data rate, for example, or withproducts that contain both bands (dual band), so the networks canprovide real-world performance similar to the basic “10BaseT” wiredEthernet networks used in many offices.

What has been described above comprises examples of the variousembodiments. It is, of course, not possible to describe everyconceivable combination of components or methodologies for purposes ofdescribing the embodiments, but one of ordinary skill in the art mayrecognize that many further combinations and permutations are possible.Accordingly, the detailed description is intended to embrace all suchalterations, modifications, and variations that fall within the spiritand scope of the appended claims.

As used in this application, the terms “system,” “component,”“interface,” and the like are generally intended to refer to acomputer-related entity or an entity related to an operational machinewith one or more specific functionalities. The entities disclosed hereincan be either hardware, a combination of hardware and software,software, or software in execution. For example, a component may be, butis not limited to being, a process running on a processor, a processor,an object, an executable, a thread of execution, a program, and/or acomputer. By way of illustration, both an application running on aserver and the server can be a component. One or more components mayreside within a process and/or thread of execution and a component maybe localized on one computer and/or distributed between two or morecomputers. These components also can execute from various computerreadable storage media having various data structures stored thereon.The components may communicate via local and/or remote processes such asin accordance with a signal having one or more data packets (e.g., datafrom one component interacting with another component in a local system,distributed system, and/or across a network such as the Internet withother systems via the signal). As another example, a component can be anapparatus with specific functionality provided by mechanical partsoperated by electric or electronic circuitry that is operated bysoftware or firmware application(s) executed by a processor, wherein theprocessor can be internal or external to the apparatus and executes atleast a part of the software or firmware application. As yet anotherexample, a component can be an apparatus that provides specificfunctionality through electronic components without mechanical parts,the electronic components can comprise a processor therein to executesoftware or firmware that confers at least in part the functionality ofthe electronic components. An interface can comprise input/output (I/O)components as well as associated processor, application, and/or APIcomponents.

Furthermore, the disclosed subject matter may be implemented as amethod, apparatus, or article of manufacture using standard programmingand/or engineering techniques to produce software, firmware, hardware,or any combination thereof to control a computer to implement thedisclosed subject matter. The term “article of manufacture” as usedherein is intended to encompass a computer program accessible from by acomputing device.

As it employed in the subject specification, the term “processor” canrefer to substantially any computing processing unit or devicecomprising, but not limited to comprising, single-core processors;single-processors with software multithread execution capability;multi-core processors; multi-core processors with software multithreadexecution capability; multi-core processors with hardware multithreadtechnology; parallel platforms; and parallel platforms with distributedshared memory. Additionally, a processor can refer to an integratedcircuit, an application specific integrated circuit (ASIC), a digitalsignal processor (DSP), a field programmable gate array (FPGA), aprogrammable logic controller (PLC), a complex programmable logic device(CPLD), a discrete gate or transistor logic, discrete hardwarecomponents, or any combination thereof designed to perform the functionsdescribed herein. Processors can exploit nano-scale architectures suchas, but not limited to, molecular and quantum-dot based transistors,switches and gates, in order to optimize space usage or enhanceperformance of user equipment. A processor also can be implemented as acombination of computing processing units.

In the subject specification, terms such as “store,” “data store,” “datastorage,” “database,” “repository,” “queue”, and substantially any otherinformation storage component relevant to operation and functionality ofa component, refer to “memory components,” or entities embodied in a“memory” or components comprising the memory. It will be appreciatedthat the memory components described herein can be either volatilememory or nonvolatile memory, or can comprise both volatile andnonvolatile memory. In addition, memory components or memory elementscan be removable or stationary. Moreover, memory can be internal orexternal to a device or component, or removable or stationary. Memorycan comprise various types of media that are readable by a computer,such as hard-disc drives, zip drives, magnetic cassettes, flash memorycards or other types of memory cards, cartridges, or the like.

By way of illustration, and not limitation, nonvolatile memory cancomprise read only memory (ROM), programmable ROM (PROM), electricallyprogrammable ROM (EPROM), electrically erasable ROM (EEPROM), or flashmemory. Volatile memory can comprise random access memory (RAM), whichacts as external cache memory. By way of illustration and notlimitation, RAM is available in many forms such as synchronous RAM(SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rateSDRAM (DDR SDRAM), enhanced SDRAM (ESDRAM), Synchlink DRAM (SLDRAM), anddirect Rambus RAM (DRRAM). Additionally, the disclosed memory componentsof systems or methods herein are intended to comprise, without beinglimited to comprising, these and any other suitable types of memory.

In particular and in regard to the various functions performed by theabove described components, devices, circuits, systems and the like, theterms (including a reference to a “means”) used to describe suchcomponents are intended to correspond, unless otherwise indicated, toany component which performs the specified function of the describedcomponent (e.g., a functional equivalent), even though not structurallyequivalent to the disclosed structure, which performs the function inthe herein illustrated exemplary aspects of the embodiments. In thisregard, it will also be recognized that the embodiments comprise asystem as well as a computer-readable medium having computer-executableinstructions for performing the acts and/or events of the variousmethods.

Computing devices typically comprise a variety of media, which cancomprise computer-readable storage media and/or communications media,which two terms are used herein differently from one another as follows.Computer-readable storage media can be any available storage media thatcan be accessed by the computer and comprises both volatile andnonvolatile media, removable and non-removable media. By way of example,and not limitation, computer-readable storage media can be implementedin connection with any method or technology for storage of informationsuch as computer-readable instructions, program modules, structureddata, or unstructured data. Computer-readable storage media cancomprise, but are not limited to, RAM, ROM, EEPROM, flash memory orother memory technology, CD-ROM, digital versatile disk (DVD) or otheroptical disk storage, magnetic cassettes, magnetic tape, magnetic diskstorage or other magnetic storage devices, or other tangible and/ornon-transitory media which can be used to store desired information.Computer-readable storage media can be accessed by one or more local orremote computing devices, e.g., via access requests, queries or otherdata retrieval protocols, for a variety of operations with respect tothe information stored by the medium.

On the other hand, communications media typically embodycomputer-readable instructions, data structures, program modules orother structured or unstructured data in a data signal such as amodulated data signal, e.g., a carrier wave or other transportmechanism, and comprises any information delivery or transport media.The term “modulated data signal” or signals refers to a signal that hasone or more of its characteristics set or changed in such a manner as toencode information in one or more signals. By way of example, and notlimitation, communications media comprise wired media, such as a wirednetwork or direct-wired connection, and wireless media such as acoustic,RF, infrared and other wireless media

Further, terms like “user equipment,” “user device,” “mobile device,”“mobile,” station,” “access terminal,” “terminal,” “handset,” andsimilar terminology, generally refer to a wireless device utilized by asubscriber or user of a wireless communication network or service toreceive or convey data, control, voice, video, sound, gaming, orsubstantially any data-stream or signaling-stream. The foregoing termsare utilized interchangeably in the subject specification and relateddrawings. Likewise, the terms “access point,” “node B,” “base station,”“evolved Node B,” “cell,” “cell site,” and the like, can be utilizedinterchangeably in the subject application, and refer to a wirelessnetwork component or appliance that serves and receives data, control,voice, video, sound, gaming, or substantially any data-stream orsignaling-stream from a set of subscriber stations. Data and signalingstreams can be packetized or frame-based flows. It is noted that in thesubject specification and drawings, context or explicit distinctionprovides differentiation with respect to access points or base stationsthat serve and receive data from a mobile device in an outdoorenvironment, and access points or base stations that operate in aconfined, primarily indoor environment overlaid in an outdoor coveragearea. Data and signaling streams can be packetized or frame-based flows.

Furthermore, the terms “user,” “subscriber,” “customer,” “consumer,” andthe like are employed interchangeably throughout the subjectspecification, unless context warrants particular distinction(s) amongthe terms. It should be appreciated that such terms can refer to humanentities, associated devices, or automated components supported throughartificial intelligence (e.g., a capacity to make inference based oncomplex mathematical formalisms) which can provide simulated vision,sound recognition and so forth. In addition, the terms “wirelessnetwork” and “network” are used interchangeable in the subjectapplication, when context wherein the term is utilized warrantsdistinction for clarity purposes such distinction is made explicit.

Moreover, the word “exemplary” is used herein to mean serving as anexample, instance, or illustration. Any aspect or design describedherein as “exemplary” is not necessarily to be construed as preferred oradvantageous over other aspects or designs. Rather, use of the wordexemplary is intended to present concepts in a concrete fashion. As usedin this application, the term “or” is intended to mean an inclusive “or”rather than an exclusive “or”. That is, unless specified otherwise, orclear from context, “X employs A or B” is intended to mean any of thenatural inclusive permutations. That is, if X employs A; X employs B; orX employs both A and B, then “X employs A or B” is satisfied under anyof the foregoing instances. In addition, the articles “a” and “an” asused in this application and the appended claims should generally beconstrued to mean “one or more” unless specified otherwise or clear fromcontext to be directed to a singular form.

In addition, while a particular feature may have been disclosed withrespect to only one of several implementations, such feature may becombined with one or more other features of the other implementations asmay be desired and advantageous for any given or particular application.Furthermore, to the extent that the terms “includes” and “including” andvariants thereof are used in either the detailed description or theclaims, these terms are intended to be inclusive in a manner similar tothe term “comprising.”

What is claimed is:
 1. A device, comprising: a processor configured to perform a network planning procedure that tests whether physical objects of a physical space obstruct a signal between two transceivers situated in the physical space based on access to a data store comprising a virtual model of the physical space; and a memory that stores executable instructions that, when executed by the processor, facilitate performance of operations, comprising: defining a group of rectangles that are situated along a line of sight between the two transceivers, and that, in combination, represent a buffer region that encompasses a Fresnel zone of the two transceivers, wherein a rectangle of the group of rectangles is oriented to align with cardinal directions of the physical space independent of an angle of the line of sight relative to one of the cardinal directions; requesting from the data store modeled objects, representative of the physical objects of the physical space, that are determined to be in the buffer region, representing a combination of the group of rectangles, which encompasses the Fresnel zone; and determining whether the signal is obstructed based on the modeled objects received from the data store.
 2. The device of claim 1, wherein a number of rectangles in the group of rectangles is a natural number greater than one, and wherein the operations further comprise determining the number of rectangles as a function of a distance between the two transceivers and a unit distance representative of a defined distance along the line of sight.
 3. The device of claim 2, wherein the operations further comprise receiving a value of the unit distance in response to input to the device.
 4. The device of claim 2, wherein the unit distance is 100 meters.
 5. The device of claim 2, wherein the rectangle of the group of rectangles has a width that is a function of the unit distance and a cosine of the angle of the line of sight relative to one of the cardinal directions.
 6. The device of claim 2, wherein a respective width of rectangles of the group of rectangles is a function of the unit distance, which is constant for the rectangles, and wherein a respective length of the rectangles varies based on a location along the line of sight in response to variances in a radius of the Fresnel zone at different locations along the line of sight.
 7. The device of claim 2, wherein the rectangle of the group of rectangles has a length that is a function of the unit distance and a sine of the angle of the line of sight relative to one of the cardinal directions, and further a function of a radius of the Fresnel zone at a location of the rectangle and a cosine of the angle of the line of sight relative to one of the cardinal directions.
 8. The device of claim 1, wherein the rectangle of the group of rectangles does not overlap any other rectangle of the group of rectangles.
 9. The device of claim 1, wherein the group of rectangles are a group of squares, and wherein a length of a side of a respective square of the group of squares changes according to a position of the respective square along the line of sight.
 10. The device of claim 9, wherein the square of the group of squares overlaps at least some portion of a different square of the group of squares.
 11. The device of claim 1, wherein the operations further comprise: receiving, via a user interface of the device, an update to a position of one of the two transceivers; and based on the update, determining an updated buffer region, wherein the updated buffer excludes regions of the buffer region from which modeled objects were previously retrieved.
 12. The device of claim 11, wherein the operations further comprise: requesting from the data store additional modeled objects, representative of the physical objects of the physical space, that are determined to be in the updated buffer region, while being exclusive of the modeled objects determine to be in the buffer region; and determining whether the signal is likely to be obstructed based on the additional modeled objects received from the data store in response to the update to the position of the one of the two transceivers.
 13. A non-transitory machine-readable medium, comprising executable instructions that, when executed by a processor, facilitate performance of operations, comprising: performing a network planning procedure that tests whether a physical object of a physical space obstructs a signal between two transceivers positioned in the physical space based on access to a data store comprising a virtual model of the physical space; defining rectangles that are positioned along a line of sight between the two transceivers, the rectangles collectively representing a buffer region that encompasses a Fresnel zone of the two transceivers, wherein a rectangle of the rectangles is oriented to align with cardinal directions of the physical space independent of an angle of the line of sight relative to one of the cardinal directions; and receiving, from the data store, a modeled object representative of the physical object of the physical space, which is determined to be in the buffer region that encompasses the Fresnel zone.
 14. The non-transitory machine-readable medium of claim 13, wherein a respective width of the rectangles is constant and a respective length of the rectangles vary based on a location along the line of sight.
 15. The non-transitory machine-readable medium of claim 13, wherein the rectangles have a respective width that is a function of a defined unit distance and a cosine of the angle of the line of sight relative to one of the cardinal directions.
 16. The non-transitory machine-readable medium of claim 15, wherein the rectangles have a respective length that is a function of the defined unit distance, a sine of the angle of the line of sight relative to one of the cardinal directions, and a function of a radius of the Fresnel zone and a cosine of the angle of the line of sight relative to one of the cardinal directions.
 17. A method, comprising: performing, by a device comprising a processor, a network planning procedure that tests whether a physical object of a physical space is likely to obstruct a signal between two transceivers that are in the physical space based on access to a data store comprising a virtual model of the physical space; defining, by the device, rectangles that are along a two-dimensional projection of a line of sight between the two transceivers, the rectangles collectively representing a buffer region that encompasses a two-dimensional projection of a Fresnel zone of the two transceivers, wherein a rectangle of the rectangles is oriented to align with cardinal directions of the physical space independent of an angle of the line of sight relative to one of the cardinal directions; and requesting, by the device from the data store, a modeled object representative of the physical object of the physical space, that is determined to be in the buffer region that encompasses the two-dimensional projection of the Fresnel zone.
 18. The method of claim 17, further comprising determining, by the device, whether the signal is likely to be obstructed based on the modeled object received from the data store.
 19. The method of claim 18, further comprising receiving, via a user interface of the device, an update to a position of one of the two transceivers.
 20. The method of claim 19, further comprising, determining, by the device, an updated buffer region, wherein the updated buffer region excludes portions of the buffer region from which modeled objects were previously retrieved. 